package com.csii.pos.uofplan.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.csii.pos.uofplan.UofPlanPo;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.List;

public interface UofPlanMapper {
    int addUofPlan(@Param("uofPlanPo") UofPlanPo uofPlanPo);

    int deleteUofPlan(@Param("uofItemSn") long uofItemSn);

    int updateUofPlan(@Param("uofPlanPo") UofPlanPo uofPlanPo);

    IPage<UofPlanPo> queryUofPlan(Page<UofPlanPo> page, @Param("uofPlanDt") String uofPlanDt,
                                  @Param("uofPlanItlNo") String uofPlanItlNo,
                                  @Param("uofPlanFlag") String uofPlanFlag,
                                  @Param("uofItemDesc") String uofItemDesc);

    BigDecimal getAllAmtByCondition(@Param("uofPlanPo") UofPlanPo uofPlanPo);

//    List<UofPlanPo> getAllDepart();

    IPage<UofPlanPo> PositionPlanQuery(Page<UofPlanPo> page, @Param("uofPlanDt") String uofPlanDt,
                                       @Param("uofPlanItlNo") String uofPlanItlNo);



    //List<UofPlanPo> getDepart(String uofPlanItlNo);

    List<UofPlanPo> queryUofPlan(UofPlanPo uofPlanPo);

    //没有日期的临时, 月, 周计划查询
    List<UofPlanPo> queryAllByType(@Param("uofPlanPo") UofPlanPo uofPlanPo);

    //月计划查询
    List<UofPlanPo> queryAllByMonth(@Param("uofPlanPo") UofPlanPo uofPlanPo,
                                   @Param("yearAndMonth") String yearAndMonth);
    //周计划查询
    List<UofPlanPo> queryAllByWeek(@Param("uofPlanPo") UofPlanPo uofPlanPo);

    //根据要删除数据的id查询提交状态
    String findApproveStatus(@Param("uofItemSn") Long uofItemSn);

    List<UofPlanPo> getDepartNames(@Param("uofPlanItlNo") String uofPlanItlNo);

    BigDecimal getAllWeekAMT(@Param("uofPlanPo") UofPlanPo uofPlanPo);

    BigDecimal getAllMonthAMT(@Param("uofPlanPo") UofPlanPo uofPlanPo,@Param("yearAndMonth") String yearAndMonth);

    UofPlanPo getUofPlan(@Param("uofPlanPo") UofPlanPo uofPlanPo);


//
//    int queryUofPlans();
}
